package helper

import (
	"strconv"
)

func ToString(b []byte) string {
	return string(b)
}

// Bytes 转换为[]byte
func ToBytes(s string) []byte {
	return []byte(s)
}

// Int64 转换为int64
func ToInt64(s string) int64 {
	i, err := strconv.ParseInt(string(s), 10, 64)
	if err != nil {
		return 0
	}
	return i
}

// Int 转换为int
func ToInt(s string) int {
	return int(ToInt64(s))
}

// Uint 转换为uint
func ToUint(s string) uint {
	return uint(ToUint64(s))
}

// Uint64 转换为uint64
func ToUint64(s string) uint64 {
	i, err := strconv.ParseUint(string(s), 10, 64)
	if err != nil {
		return 0
	}
	return i
}

// Float64 转换为float64
func ToFloat64(s string) float64 {
	f, err := strconv.ParseFloat(string(s), 64)
	if err != nil {
		return 0
	}
	return f
}

//截取字符串
func Truncate(s string, max int) string {
	runes := []rune(s)
	if len(runes) > max {
		return string(runes[:max])
	}
	return s
}